package com.mindskip.xzs.utility;
//这段代码是一个单例模式的 ModelMapper 工具类，用于在前后端之间进行对象之间的映射转换操作,
// 简化了对象之间的属性转换操作，提高了代码的可维护性和可读性。
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;

/**
 * 单例模式的 ModelMapper 工具类
 */
public class ModelMapperSingle {

    // 创建 ModelMapper 实例
    protected final static ModelMapper modelMapper = new ModelMapper();

    // 创建 ModelMapperSingle 实例
    private final static ModelMapperSingle modelMapperSingle = new ModelMapperSingle();

    // 静态代码块，在类加载时执行
    static {
        // 设置 ModelMapper 的配置，强制进行完全类型匹配
        modelMapper.getConfiguration().setFullTypeMatchingRequired(true);
        // 设置 ModelMapper 的匹配策略为严格模式
        modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
    }

    /**
     * 获取 ModelMapper 实例
     * @return ModelMapper 实例
     */
    public static ModelMapper Instance() {
        return modelMapper;
    }
}
